async fs leget
Translation status: English reader-locale proof. Term names and code fences follow the en pack; supporting prose may still be English.
Async fs.read_file_async<T> uses the same fs:lege route as sync fs.read_file<T>.
Syntax: fs.read_file_async<string>(via)
Category#
ad
Related#
Examples#
radix/corpus/ad/async-solum-leget.fab (canonical · concept)#
Async fs.read_file_async<T> uses the same fs:lege route as sync fs.read_file<T>.
# =============================================================================
# async only leget — async solum.read_file_async<T> uses the same solum:lege route as
# sync solum.read_file<T>.
# =============================================================================
#
# What this teaches:
# • Async/sync proof pair — `solum.read_file_async<T>` and `solum.read_file<T>` share the
# same host route; the async callable posture selects the async receive path
# • Import syntax — `import from "norma:fs"` brings in standard library
# modules
#
# Common mistakes:
# • using an call expression outside the AIR lane or confusing the async route syntax — `solum.read_file_async<T>` must be awaited from `async_main`
#
# See also: call, only, future, channel
# =============================================================================
# Async `call` materialization through a standard-library proof pair.
#
# `solum.read_file_async<T>` is the async-posture twin of `solum.read_file<T>`. Norma currently
# declares the wrapper with compatibility `@ future`; callers consume it through
# the explicit morphology forms such as `await_const`.
import from "norma:fs" charta
async_main {
const string textPath ← "/tmp/faber-async-fs-leget.txt"
charta.write_file(textPath, "async fs\n")
await_const string body ← charta.read_file_async<string>(textPath)
assert body ≡ "async fs\n"
}